using System;

namespace SimpleServiceBus.Bus.Saga
{
    /// <summary>
    /// A marker interface that also defines the properties of a
    /// message involved in an SimpleServiceBus workflow.
    /// </summary>
    public interface ISagaMessage
    {
        /// <summary>
        /// Gets/sets the Id of the workflow the message is related to.
        /// </summary>
        Guid SagaId { get; set; }
    }

    /// <summary>
    /// Indicates that the object starts a workflow.
    /// </summary>
    [AttributeUsage(AttributeTargets.Class)]
    public class StartsSagaAttribute : Attribute
    {
    }
}